define([ 'util/Knockout', 'util/ArrayUtil' ], function(ko, arrayUtil) {

	var game = function(gameId) {
		var self = this;

		self.gameId = gameId;

		self.deckSize = ko.observable(0);

		self.myCall = ko.observable(false);

		self.possiblePass = ko.observable(false);

		self.finished = ko.observable(false);
		
		self.hand = ko.observableArray([]);
		
		self.table = ko.observableArray([]);

		self.opponentHand = ko.observableArray([]);

		self.timeExpWarning = ko.observable(false);
		
		self.usableCard = function(card) {
			return self.myCall() && card.usable;
		};
		
	};
	
	return game;
});